//
//  ZZCircleTool.h
//  DrawLine
//
//  Created by evan on 2017/9/19.
//  Copyright © 2017年 evan. All rights reserved.
//

#import <Foundation/Foundation.h>
#include <UIKit/UIKit.h>
#import "UIView+ColorOfPoint.h"
#import "ZZView.h"
@interface ZZCircleTool : NSObject


/**
 返回渐变色圆 圆环方向渐变

 @param colors 颜色值，不能为nil
 @param frame View的frame值，建议传入正方形frame，不能为zero
 @return 渐变色圆
 */
+ (ZZView *)viewForColors:(NSArray *)colors viewFrame:(CGRect)frame;

/*
返回环形渐变色圆环 渐变色的方向是圆弧方向
 
@param colors 输入的颜色，不能为nil
@param frame view的Frame
@param lineWidth 圆环线宽
@param inColor 内圆颜色，不能为透明
@return 渐变色圆环
*/
+ (ZZView *)viewForColors:(NSArray  *)colors viewFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth inCircleColor:(UIColor *)inColor;

/*
 返回环形渐变色圆环 渐变色的方向是圆弧方向
 
 @param colors 输入的颜色，不能为nil
 @param frame view的Frame
 @param lineWidth 圆环线宽
 @param inColor 内圆颜色，不能为透明
 tuoWeiColor 拖尾的颜色
 tuoWeiLength 风火轮渐变颜色 0~ 0.999
 @return 渐变色圆环
 */
+ (ZZView *)viewForColors:(NSArray  *)colors viewFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth inCircleColor:(UIColor *)inColor tuoWeiColor:(UIColor *)tuoWeiColor tuoWeiLength:(CGFloat)tuoWeiLength;

/**
 返回渐变色圆 圆环方向渐变
 
 @param colors 颜色值，不能为nil
 @param frame View的frame值，建议传入正方形frame，不能为zero
 minColor 中间颜色 color
 inColor 内圆颜色
 length 0~1
 @return 渐变色圆
 */
+ (ZZView *)viewForColors:(NSArray  *)colors viewFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth inCircleColor:(UIColor *)inColor midColor:(UIColor *)midColor midColorLength:(CGFloat)length;

/**
 返回颗粒颜色条
 
 @param colors 颜色值，不能为nil
 @param frame View的frame值，建议传入正方形frame，不能为zero
 lineColor: 外延圈的颜色
 @return 渐变色圆
 */
+ (ZZView *)moreColorViewForColors:(NSArray *)colors viewFrame:(CGRect)frame lineColor:(UIColor *)lineColor lineWitdh:(CGFloat)lineWidth inColor:(UIColor *)inColor;

/**
     七彩
 */
+ (ZZView *)qiCaiMoreColorViewForColors:(NSArray *)colors viewFrame:(CGRect)frame lineColor:(UIColor *)lineColor lineWitdh:(CGFloat)lineWidth inColor:(UIColor *)inColor ledNumber:(NSInteger)ledNumber;

/**
     太极
 */
+ (ZZView *)taiJiViewForColors:(NSArray  *)colors viewFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth inCircleColor:(UIColor *)inColor midColor:(UIColor *)midColor midColorLength:(CGFloat)length ledNumber:(NSInteger)ledNumber;

/**
     风火轮
 */
+ (ZZView *)fengHuoLunViewForColors:(NSArray  *)colors viewFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth inCircleColor:(UIColor *)inColor tuoWeiColor:(UIColor *)tuoWeiColor tuoWeiLength:(CGFloat)tuoWeiLength ledNumber:(NSInteger)ledNumber;

/**
     覆盖
 */
+ (ZZView *)fuGaiviewForColors:(NSArray  *)colors viewFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth inCircleColor:(UIColor *)inColor midColor:(UIColor *)midColor ledNumber:(NSInteger)ledNumber;

/**
     跳变
 */
+ (ZZView *)tiaobianvViewForColors:(NSArray  *)colors viewFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth inCircleColor:(UIColor *)inColor tuoWeiColor:(UIColor *)tuoWeiColor ledNumber:(NSInteger)ledNumber;

+ (NSArray *)colorForGGB:(UIColor *)color;

@end

@interface ColorView : UIView

@property (nonatomic, strong)NSArray <UIColor *>*colors;

@end

